implement machine learning algorithm
How to Implement Machine Learning Algorithms From Scratch
Machine learning (ML), a subfield of artificial intelligence, is essentially creating computer systems trained to make their own predictions without being explicitly programmed. Whether you notice it or not, machine learning already influences our everyday lives and the decisions we make. Every time you use language translation apps, browse through your streaming service's recommendations, or look for the optimal route via online maps, you engage with machine learning. One of the best ways to get a deep understanding of how ML algorithms work under the hood is to learn how to build them step by step. To help you with that, JetBrains Academy is introducing a new Machine Learning Algorithms From Scratch track, which provides fundamental knowledge and hands-on experience in creating the most common ML algorithms in Python.
Why Implement Machine Learning Algorithms From Scratch?
Let us narrow down the phrase "implementing from scratch" a bit further in context of the 6 points I mentioned above. When we talk about "implementing from scratch," we need to narrow down the scope to make this question really tangible. Let's talk about a particular algorithm, simple logistic regression, to address the different points using concrete examples. I'd claim that logistic regression has been implemented more than thousand times. One reason why we'd still want to implement logistic regression from scratch could be that we don't have the impression that we fully understand how it works; we read a bunch of papers, and kind of understood the core concept though.
What is the Difference Between Deep Learning and "Regular" Machine Learning?
That's an interesting question, and I try to answer this is a very general way. The tl;dr version of this is: Deep learning is essentially a set of techniques that help we to parameterize deep neural network structures, neural networks with many, many layers and parameters. And if we are interested, a more concrete example: Let's start with multi-layer perceptrons (MLPs)... On a tangent: The term "perceptron" in MLPs may be a bit confusing since we don't really want only linear neurons in our network. Using MLPs, we want to learn complex functions to solve non-linear problems. Thus, our network is conventionally composed of one or multiple "hidden" layers that connect the input and output layer.
Why Implement Machine Learning Algorithms From Scratch?
Let us narrow down the phrase "implementing from scratch" a bit further in context of the 6 points I mentioned above. When we talk about "implementing from scratch," we need to narrow down the scope to make this question really tangible. Let's talk about a particular algorithm, simple logistic regression, to address the different points using concrete examples. I'd claim that logistic regression has been implemented more than thousand times. One reason why we'd still want to implement logistic regression from scratch could be that we don't have the impression that we fully understand how it works; we read a bunch of papers, and kind of understood the core concept though. Using a programming language for prototyping (e.g., Python, MATLAB, R, and so forth), we could take the ideas from paper and try to express them in code -- step by step.